Emerging multimedia applications such as online streaming video, local area network (LAN) TV, collaborative computing, gaming and desktop conferencing depend on the ability to send the same information from one host to a plurality of other hosts (also referred to as “one to many”) or from a plurality of hosts to a plurality of other hosts (also referred to as “many to many”). IP multicasting was developed as an efficient means to support such multicast communications. As used herein, the term “multicasting” refers to directing the same information packets to multiple destinations at the same time. In a multicast communication, information is communicated to more than one communication device (also referred to as nodes or stations), each of which belongs to a particular multicast group. For example, a multicast server/router can communicate multicast data streams that are sent with a destination IP address of an IP multicast group. By contrast, the term “unicasting” refers to sending a separate copy of a communication to each individual device destination. Some of the benefits of IP Multicasting include: 1) the sender only has to send out one copy of the information packet instead of many, 2) the information is delivered in a more timely, synchronized fashion because all destinations receive the same source packet, 3) multicasting can be used to send information to destinations whose individual addresses are unknown (similar to a broadcast), and 4) it reduces the overall number of packets on the network (that is, one multicast packet sent instead of many unicast packets).
The Internet Group Management Protocol (IGMP) refers to a communications protocol used to manage the membership of Internet Protocol (IP) multicast groups. IGMP is used by IP hosts to manage their dynamic multicast group membership; it is also used by connected routers to discover these group members. IGMP can be used to automatically control and limit the flow of multicast traffic through the network. IGMP is used to establish multicast group memberships to effectively eliminate multicast traffic on segments that are not destined to receive this traffic and thus allows for more efficient use of resources. Various “Request for Comments” (RFC) documents by the Internet Engineering Task Force (IETF) define different versions of IGMP. As used herein, the term Request for Comments (RFC) is used to refer to a memorandum published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems. The IETF develops and promotes Internet standards. The official source for RFCs on the World Wide Web is the RFC Editor. One may retrieve almost any individual, published RFC, via a URL at: http://www.rfc-editor.org/rfc/ or http://www.ietf.org/rfc.html. In addition, one may obtain copies of RFCs by contacting: IETF Secretariat, c/o Association Management Solutions, LLC (AMS), 48377 Fremont Blvd., Suite 117, Fremont, Calif. 94538, USA. All RFCs referred to herein have been published at the time this application was filed and are incorporated herein by reference in their entirety. As used herein, “Internet Group Management Protocol (IGMP)” refers to a communications protocol used to manage the membership of Internet Protocol multicast groups. IGMP is used by IP hosts and adjacent multicast routers to establish multicast group memberships. There are three versions of IGMP, as defined by IETF RFCs: IGMP v1 is defined by RFC 1112, IGMP v2 is defined by RFC 2236 and IGMP v3 is defined by RFC 3376, each of which are incorporated herein by reference in their entirety.
IGMP manages multicast traffic throughout networks with the use of special multicast queriers and hosts that support IGMP. As used herein, a “querier” is a network device (e.g., a router, wireless switch, or other type of device that is designed to behave as a querier) that sends periodic IGMP query messages.
IGMP identifies members of the multicast group per “subnet” and provides messages by which hosts can join and leave multicast groups. More specifically, the queriers and hosts can use message structures that are commonly called an IGMP query message, an IGMP report message, and an IGMP leave group message. IGMP query messages (also referred to as “membership queries”) are used by queriers to discover which network devices are members of a given multicast group. IGMP query messages are sent to determine which multicast addresses are of interest to systems attached to its network. General IGMP query messages are periodically sent to refresh the group membership state for all systems on its network. By contrast, group-specific IGMP query messages are used to determine the reception state for a particular multicast address. Group-and-source-specific IGMP query messages allow the querier to determine if any systems desire reception of messages sent to a multicast group from a source address specified in a list of unicast addresses. IGMP report messages are sent by hosts in response to queries to inform the querier of a host's membership. The host can also use the report message to join a new group. IGMP leave group messages are sent when the host desires to leave the multicast group.
A wireless local area network (WLAN) generally includes one or more access points (APs) designed to communicate with wireless client devices. As the number of APs increases, the network can become difficult to manage. To help alleviate this problem, a master controller (also referred to as a “wireless switch”) can be added to the network. Each wireless switch has a number of ports which allow the wireless switch to be coupled to multiple APs. A wireless switch controls some or all of the APs in the network, and data going to or from the APs flow through the wireless switch. Moreover, the access points can then be simplified by performing many of the functions of a conventional access point at the wireless switch. These simplified access points are referred to herein as “access ports” to differentiate them from conventional access points.
When IGMP is implemented at a wireless switch (i.e., an IGMP enabled wireless switch), the wireless switch limits multicast traffic by monitoring IGMP traffic (or by performing “IGMP snooping”) and learning which of its associated wireless client devices belong to particular multicast groups. When a wireless switch receives multicast traffic, it determines whether any of its associated wireless client devices belong to the particular multicast group that corresponds to that multicast traffic. If there is at least one wireless client device that belongs to the corresponding multicast group, then the wireless switch allows that multicast traffic to be sent to access ports and transmitted over-the-air.
To maintain up-to-date multicast membership tables, the wireless switch periodically sends out an IGMP query message that is eventually multicast over-the-air via access ports that are coupled to that wireless switch.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.